iT邦幫忙

2023 iThome 鐵人賽

DAY 9
0
AI & Data

機器學習新手行,相信你也行!系列 第 9

重啟旅途~監督式學習 —— 線性迴歸和邏輯迴歸

  • 分享至 

  • xImage
  •  

NCPC 小炮灰,謝謝你簽到題,至少不是 0。


線性迴歸( Linear Regression )

用於預測未知資料的值
找多個自變數( independent variable )和應變數( dependent variable )之間的線性關係
線性迴歸用一條直線來擬合資料,並用直線來預測未知資料

  • 簡單線性迴歸(Simple Linear Regression) 只有一個自變數和一個應變數之間的關係
    https://chart.googleapis.com/chart?cht=tx&chl=%5C%5BY%20%3D%20%5Cbeta_0%20%2B%20%5Cbeta_1X%20%2B%20%5Cepsilon%5C%5D
  • 多元迴歸( multiple regression ) 有多個自變數與一個應變數之間的複雜關係
    https://chart.googleapis.com/chart?cht=tx&chl=%5C%5BY%20%3D%20%5Cbeta_0%20%2B%20%5Cbeta_1X_1%20%2B%20%5Cbeta_2X_2%20%2B%20%5Cldots%20%2B%20%5Cbeta_kX_k%20%2B%20%5Cepsilon%5C%5D

Y 是應變數(要預測的數值型變數)
X 是自變數(用於預測的特徵)
https://chart.googleapis.com/chart?cht=tx&chl=%5Cbeta_0 是截距項(模型的截距,表示當所有自變數為 0 時的應變數的值)
https://chart.googleapis.com/chart?cht=tx&chl=%5Cbeta_1X_1%20%2C%20%5Cbeta_2X_2%20%2C%20%5Cldots%20%2C%20%5Cbeta_kX_k 是係數(模型的參數,表示自變數對應變數的影響程度)
https://chart.googleapis.com/chart?cht=tx&chl=%5Cepsilon 是誤差項(隨機誤差,表示模型未能解釋的部分)

模型擬合

為了建立線性迴歸模型,要找到最適合資料的直線,使預測值和實際觀察值的誤差最小
最常見的方法是使用最小平方法

最小平方法( least squares method )

假設我們有一組資料點
https://chart.googleapis.com/chart?cht=tx&chl=(x_1%2C%20y_1)%2C%20(x_2%2C%20y_2)%2C%20%5Cldots%2C%20(x_n%2C%20y_n)
當想要擬合一個線性模型
https://chart.googleapis.com/chart?cht=tx&chl=%5C%5BY%20%3D%20%5Cbeta_0%20%2B%20%5Cbeta_1X%5C%5D
其中 Y 是應變數 X 是自變數

  1. 最小平方法的目標
    找到一組係數使得模型預測值與實際觀察值之間的誤差平方和最小
    最小化目標函數
    https://chart.googleapis.com/chart?cht=tx&chl=%5Cmin_%7B%5Cbeta_0%2C%20%5Cbeta_1%7D%20%5Csum_%7Bi%3D1%7D%5E%7Bn%7D%20(y_i%20-%20(%5Cbeta_0%20%2B%20%5Cbeta_1x_i))%5E2

  2. 對目標函數求解
    目標函數關於係數的偏微分設為 0 然後解出係數的值
    就可以找到使誤差平方和最小的係數
    偏微分
    https://chart.googleapis.com/chart?cht=tx&chl=%5Cfrac%7B%5Cpartial%7D%7B%5Cpartial%20%5Cbeta_0%7D%20%5Csum_%7Bi%3D1%7D%5E%7Bn%7D%20(y_i%20-%20(%5Cbeta_0%20%2B%20%5Cbeta_1x_i))%5E2%20%3D%20-2%5Csum_%7Bi%3D1%7D%5E%7Bn%7D%20(y_i%20-%20(%5Cbeta_0%20%2B%20%5Cbeta_1x_i))
    https://chart.googleapis.com/chart?cht=tx&chl=%5Cfrac%7B%5Cpartial%7D%7B%5Cpartial%20%5Cbeta_1%7D%20%5Csum_%7Bi%3D1%7D%5E%7Bn%7D%20(y_i%20-%20(%5Cbeta_0%20%2B%20%5Cbeta_1x_i))%5E2%20%3D%20-2%5Csum_%7Bi%3D1%7D%5E%7Bn%7D%20x_i(y_i%20-%20(%5Cbeta_0%20%2B%20%5Cbeta_1x_i))

  3. 解方程系統
    設定偏微分為 0
    得方程系統
    https://chart.googleapis.com/chart?cht=tx&chl=%5Cbegin%7Bcases%7D%20-2%5Csum_%7Bi%3D1%7D%5E%7Bn%7D%20(y_i%20-%20(%5Cbeta_0%20%2B%20%5Cbeta_1x_i))%20%3D%200%20%5C%5C%20-2%5Csum_%7Bi%3D1%7D%5E%7Bn%7D%20x_i(y_i%20-%20(%5Cbeta_0%20%2B%20%5Cbeta_1x_i))%20%3D%200%20%5Cend%7Bcases%7D

模型評估

使用均方誤差(MSE)和決定係數(R²)等指標評估線性迴歸模型的性能

均方誤差( MSE,Mean Squared Error )

MSE 用來度量模型預測值和實際觀察值之間的平均誤差的指標
MSE越小,表示模型的預測越準確
數學公式
https://chart.googleapis.com/chart?cht=tx&chl=%5Ctext%7BMSE%7D%20%3D%20%5Cfrac%7B1%7D%7Bn%7D%20%5Csum_%7Bi%3D1%7D%5E%7Bn%7D%20(X_i%20-%20%5Cbar%7BX%7D_i)%5E2

n 是資料點的數量
https://chart.googleapis.com/chart?cht=tx&chl=X_i 是實際觀察到的目標值
https://chart.googleapis.com/chart?cht=tx&chl=%5Cbar%7BX%7D_i 是模型預測的目標值

決定係數( R²,R-squared )

R² 用來度量模型對應變數的變異中可由自變數解釋部分所占的比例
R²的範圍從 0 到 1 ,越接近 1 模型越能解釋應變數的變異性
數學公式
https://chart.googleapis.com/chart?cht=tx&chl=R%5E2%20%3D%201%20-%20%5Cfrac%7B%5Csum_%7Bi%3D1%7D%5E%7Bn%7D%20(y_i%20-%20%5Chat%7By%7D_i)%5E2%7D%7B%5Csum_%7Bi%3D1%7D%5E%7Bn%7D%20(y_i%20-%20%5Cbar%7By%7D)%5E2%7D

邏輯迴歸( Logistic Regression )

常用於解決二元分類問題的監督式機器學習算法
雖然名稱中包含"迴歸"( Regression )一詞,但其實邏輯迴歸用在分類,而不是迴歸
邏輯分布公式
https://chart.googleapis.com/chart?cht=tx&chl=P(Y%3D1%20%7C%20X%3Dx)%20%3D%20%5Cfrac%7Be%5E%7Bx'%5Cbeta%7D%7D%7B1%2B%20e%5E%7Bx'%5Cbeta%7D%7D

參考資料

https://zh.wikipedia.org/zh-tw/%E7%B7%9A%E6%80%A7%E5%9B%9E%E6%AD%B8
https://zh.wikipedia.org/zh-tw/%E6%9C%80%E5%B0%8F%E4%BA%8C%E4%B9%98%E6%B3%95
https://zh.wikipedia.org/zh-tw/%E5%9D%87%E6%96%B9%E8%AF%AF%E5%B7%AE
https://zh.wikipedia.org/zh-tw/%E5%86%B3%E5%AE%9A%E7%B3%BB%E6%95%B0
https://zh.wikipedia.org/zh-tw/%E9%82%8F%E8%BC%AF%E6%96%AF%E8%AB%A6%E8%BF%B4%E6%AD%B8


上一篇
中途休息站 —— 簡單介紹機器學習模型的概念
下一篇
學習小法術~正則化跟正規化
系列文
機器學習新手行,相信你也行!30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言